package com.aiYouPms.common.dao;

import com.aiYouPms.common.model.AdminUser;
import com.aiYouPms.common.model.Role;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface AdminUserDao {
    
    List<AdminUser> findAll(AdminUser adminUser);
    
    AdminUser findById(Integer id);
    
    AdminUser findByUsername(String username);
    
    void insert(AdminUser adminUser);
    
    void update(AdminUser adminUser);
    
    void deleteById(Integer id);
    
    List<AdminUser> searchByUsername(String username);
    
    /**
     * 根据用户ID查询角色ID列表
     * @param userId 用户ID
     * @return 角色ID列表
     */
    List<Integer> findRoleIdsByUserId(Integer userId);
    
    /**
     * 根据角色ID列表查询角色信息
     * @param roleIds 角色ID列表
     * @return 角色列表
     */
    List<Role> findRolesByRoleIds(@Param("roleIds") List<Integer> roleIds);
}